home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d6 / glazer.arc / PERTERM.BAS < prev    next >
BASIC Source File  |  1988-10-07  |  2KB  |  38 lines

  1. 100 'Periodic Term ("PERTERM")
  2. 110 CLS
  3. 120 COLOR 0,15 : PRINT "Periodic Term" : COLOR 15,0
  4. 130 DEFDBL A-Z
  5. 140 DEFINT M-N
  6. 150 '     Let user enter data
  7. 160 PRINT : PRINT "Do not enter dollars signs or commas"
  8. 170 PRINT
  9. 180 INPUT "Savings goal: ", FV
  10. 190 INPUT "Annual interest rate (in percent): ", AR
  11. 200 INPUT "Deposit each period: ", DEPOSIT
  12. 210 INPUT "Number of deposits per year: ", NPY
  13. 220 INPUT "Annual inflation rate (in percent): ", INFLATION
  14. 230 INPUT  "Marginal tax rate (in percent): ", TAXRATE
  15. 240 '     Determine after-tax, periodic interest rate
  16. 250 PR = (1 + AR / 100) ^ (1 / NPY) - 1
  17. 260 PR = PR * (1 - TAXRATE / 100)
  18. 270 '     Term to reach nominal goal
  19. 280 TPERIODS = LOG (FV / DEPOSIT * PR + 1 + PR)
  20. 290 IF PR <> 0  THEN NPERIODS = -1 + TPERIODS / LOG (1 + PR)                                    ELSE NPERIODS = FV / DEPOSIT
  21. 300 PRINT
  22. 310 PRINT "Number of periods to reach nominal goal: "; NPERIODS
  23. 320 '     Term to reach inflation adjusted goal
  24. 330 INFLATION = (1 + INFLATION / 100) ^ (1 / NPY)    'Periodic inflation factor
  25. 340 CURRENTBAL = 0
  26. 350 PREVBAL = 0
  27. 360 NPERIODS = 0
  28. 370 INFV = FV
  29. 380 WHILE CURRENTBAL < INFV
  30. 390   NPERIODS = NPERIODS + 1
  31. 400   INFV = INFV * INFLATION
  32. 410   CURRENTBAL = (PREVBAL + DEPOSIT) * (1 + PR)
  33. 420   IF NPERIODS > 1  THEN IF (CURRENTBAL / PREVBAL < INFLATION)                        THEN PRINT "Inflated goal never met" : END
  34. 430   PREVBAL = CURRENTBAL
  35. 440 WEND
  36. 450 PRINT "Number of periods to reach inflation-adjusted goal: "; NPERIODS
  37. 460 END
  38.